#!/usr/bin/env python3
import os
import sys
import webbrowser
from datetime import datetime

def clear_browser_cache_guide():
    """提供清除浏览器缓存的详细步骤指南"""
    print("=== 浏览器缓存清理指南 ===")
    print(f"生成时间: {datetime.now()}\n")
    
    print("问题描述:")
    print("  已从后端代码和模板中移除的技术指标(随机指标、威廉指标、CCI和动量指标)")
    print("  仍然在HTML响应中显示，这很可能是由于浏览器缓存导致的。\n")
    
    print("解决方案:")
    print("1. 清除浏览器缓存")
    print("2. 使用私密/隐身模式")
    print("3. 强制刷新页面")
    print("4. 添加URL参数防止缓存\n")
    
    print("详细步骤:")
    
    # Chrome浏览器
    print("\nChrome浏览器:")
    print("  1. 打开Chrome浏览器")
    print("  2. 按下Ctrl+Shift+Delete (Windows/Linux) 或 Command+Shift+Delete (Mac)")
    print("  3. 时间范围选择'过去24小时'或'所有时间'")
    print("  4. 勾选'缓存的图片和文件'")
    print("  5. 点击'清除数据'")
    print("  6. 访问应用时按Ctrl+F5 (Windows/Linux) 或 Command+Shift+R (Mac) 强制刷新")
    
    # Firefox浏览器
    print("\nFirefox浏览器:")
    print("  1. 打开Firefox浏览器")
    print("  2. 按下Ctrl+Shift+Delete (Windows/Linux) 或 Command+Shift+Delete (Mac)")
    print("  3. 时间范围选择'所有'")
    print("  4. 勾选'缓存'")
    print("  5. 点击'清除'")
    print("  6. 访问应用时按Ctrl+F5 (Windows/Linux) 或 Command+Shift+R (Mac) 强制刷新")
    
    # Edge浏览器
    print("\nEdge浏览器:")
    print("  1. 打开Edge浏览器")
    print("  2. 按下Ctrl+Shift+Delete")
    print("  3. 时间范围选择'所有时间'")
    print("  4. 勾选'缓存的图片和文件'")
    print("  5. 点击'立即清除'")
    print("  6. 访问应用时按Ctrl+F5 强制刷新")
    
    # 使用私密/隐身模式
    print("\n使用私密/隐身模式:")
    print("  1. Chrome: Ctrl+Shift+N (Windows/Linux) 或 Command+Shift+N (Mac)")
    print("  2. Firefox: Ctrl+Shift+P (Windows/Linux) 或 Command+Shift+P (Mac)")
    print("  3. Edge: Ctrl+Shift+N")
    print("  4. 在私密/隐身窗口中访问应用")
    
    # 添加URL参数
    print("\n添加URL参数防止缓存:")
    print("  在URL后添加时间戳参数，例如:")
    print(f"  http://127.0.0.1:5000/?t={int(datetime.now().timestamp())}")
    
    # 服务器端解决方案
    print("\n服务器端解决方案:")
    print("  1. 在Flask应用中添加以下代码，禁用浏览器缓存:")
    print("""  @app.after_request
  def add_header(response):
      response.headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0'
      response.headers['Pragma'] = 'no-cache'
      response.headers['Expires'] = '-1'
      return response""")
    
    # 验证解决方案
    print("\n验证解决方案:")
    print("  1. 清除缓存后，访问应用")
    print("  2. 检查HTML源代码中是否仍有已移除指标的硬编码数据")
    print("  3. 如果问题仍然存在，检查服务器端代码是否有其他缓存机制")
    
    # 打开浏览器
    try:
        choice = input("\n是否打开浏览器访问应用? (y/n): ")
        if choice.lower() == 'y':
            url = f"http://127.0.0.1:5000/?t={int(datetime.now().timestamp())}"
            print(f"\n正在打开: {url}")
            webbrowser.open(url)
    except Exception as e:
        print(f"打开浏览器时出错: {e}")

if __name__ == "__main__":
    clear_browser_cache_guide()